perm filename LECT9.TEX[ARK,TEX] blob
sn#766835 filedate 1984-08-22 generic text, type C, neo UTF8
COMMENT ā VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % copyright 1984 by Arthur Keller ... All rights reserved
C00011 00003 \section*{Assignment}
C00013 ENDMK
Cā;
% copyright 1984 by Arthur Keller ... All rights reserved
\chapter{\TeX\ Fundamentals 2}
%Wed, August 22
%9-10am
%TeX Fundamentals 2
%>Hyphenation
%>"Overfull" boxes
%>More about modes
%10-11am
%<lab assignment 6>
\TeX\ essentially treats each paragraph of an input file as one long
string of characters (or ``tokens'' as they are sometimes called); it then
figures out how to divide that string of characters into lines of text
which are justified and filled.
\TeX's will first attempt to do this without hyphenating any words; if
this proves to be impossible, \TeX\ will then attempt to hyphenate words
according to its hyphenation routine.
If satisfactory line breaks cannot be found even with hyphenation, \TeX\
will send an ``overfull box'' error message to the terminal (and your {\tt
.lst} file) and will put a black slug in the margin to help you locate the
offending line.
At this point, you have several options.
You can give \TeX\ additional points at which it can hyphenate by
inserting \cmd{-} (``backslash-hyphen'') at those points, like this: {\tt
hy\bs-phen\bs-a\bs-tion}.
Alternatively, you can show \TeX\ where you would like it to end a line by
giving the command \cmd{break} at that point.
\TeX\ will then create a line consisting of all the text on the line prior
to the \cmd{break} command.
\TeX\ will remake the paragraph changing the line breaks throughout to
set the paragraph with the new line break.
If you do not want \TeX\ to ``fill'' the line you have broken by putting lots
of space between words, you can say \cmd{hfil\bs break} to get the
contents of the line flush left.
You can also tell \TeX\ not to worry about the overfull box, in one of two
ways.
The parameter \cmd{hfuzz} controls {\sl how} overfull a box has to be
before an error mesage results; the default value is 0.1 point.
By increasing the value of \cmd{hfuzz}, you are making \TeX\ less
sensitive to overfull boxes; for example, if you set \cmd{hfuzz = 10pt},
then no error message will result unless a box is overfull by more than 10
points.
Keep in mind that a box which is overfull by as little as 2 or 3 points
will be noticable to the trained observer.
A less drastic step than increasing the value of \cmd{hfuzz} is to specify
\cmd{overfullrule = 0pt}.
The command \cmd{overfullrule} controls the size of the slug that \TeX\
prints in the margin next to an overfull box; be setting it to zero
points, the rule vanishes.
However, you will still be notified at the terminal about the overfull box;
it will merely not be highlighted on your hardcopy output.
You can of course use these commands in combination, such as \cmd{hfuzz =
5pt} \cmd{overfullrule = 0pt}, which tells \TeX\ to ignore all boxes less
than 5 points overfull, and to print error messages but not slugs for
boxes more than 5 points overfull.
These commands are particularly useful in processing the early drafts of a
manuscript, if you expect there to be lots of changes later: it simply
is not worth worrying about bad line breaks at that time since they may
vanish as the text is re-written.
For the final versions, you can then take the \cmd{hfuzz} command out of
your file and do whatever is necessary to fix the overfull boxes.
\section*{Assignment}
Reading for this lecture:
The \TeX book, Chapters~11--13.
Assignment for this lecture:
Copy {\tt texinputs:lab6.tex} into your directory.
Edit the file to remove all of the overfull boxes.
You will probably need to change some or all of the parameters at the top
of the file to do this.
A listing of the file and original output are on the following pages.
\begin{figure}[p]
\vskip6truein
\caption{Put lab6.tex page 1 here}
\end{figure}
\begin{figure}[p]
\vskip6truein
\caption{Put lab6.tex page 2 here}
\end{figure}
\begin{figure}[p]
\vskip6truein
\caption{Put lab6.dvi here}
\end{figure}